#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>


//int func(int* arr, int numsize, int val)
//{
//	
//	int src = 0;
//	int dst = 0;
//	while (src < numsize)
//	{
//		if (arr[src] == val)
//		{
//			src++;
//		}
//		else
//		{
//			arr[dst] = arr[src];
//			src++;
//			dst++;
//		}
//	}
//	return dst;
//}
//int main()
//{
//	int arr[4] = { 3, 2, 2, 3 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	int n = func(arr, len, 3);
//	printf("%d", n);
//	return 0;
//}


void func(int* arr1, int len, int m, int* arr2, int len2, int n)
{
	int l1 = m - 1;
	int l2 = n - 1;
	int l3 = m + n - 1;
	while (l1 >= 0 && l2 >= 0)
	{
		if (arr1[l1] <= arr2[l2])
		{
			arr1[l3--] = arr2[l2--];
			/*l3--;
			l2--;*/
		}
		else
		{
			arr1[l3--] = arr1[l1--];
			/*l3--;
			l1--;*/
		}
	}
	
}
int main()
{
	int arr1[] = { 1, 42, 543, 0, 0, 0 };
	int arr2[] = { 23, 46, 645};
	int len1 = sizeof(arr1) / sizeof(arr1[0]);
	int len2 = sizeof(arr2) / sizeof(arr2[0]);
	func(arr1, len1, 3, arr2, len2, 3);
	for (int i = 0; i < 6; i++)
	{
		printf("%d ", arr1[i]);
	}
	return 0;
}